/*************************************************************************
	> File Name: countdown.c
	> Author: 
	> Mail: 
	> Created Time: Mon 01 Sep 2025 06:39:19 PM CST
 ************************************************************************/


#include<stdio.h>
#include<unistd.h> // 包含 Unix 标准函数头文件，提供 sleep 函数

int main()
{
    // 定义整型变量 i 并初始化为 10，用于倒计时
    int i = 10;

    while(i>=0)
    {
        // 第一步：打印数字
        printf("%-2d\r",i);
        /* 满满的细节：
         *   细节一：为什么要使用 "\r"：\r是回车符，会将光标移到当前行的开头，实现覆盖输出的效果
         *   细节二：为什么要使用 "2"：因为10占两个字符宽度
         *   细节三：为什么要使用 "-"：因为左对齐更美观
         */

        // 第二步：刷新标准输出缓冲区（由于：既不能换行 + 又要立即看到打印的内容）
        fflush(stdout);

        // 第三步：让程序休眠一秒（目的：让倒计时更加的逼真）
        sleep(1);

        // 第四步：更新循环因子
        i--;
    }
    printf("\n"); // 注意细节：循环结束后，输出一个换行符，使光标移到下一行，避免命名行覆盖倒计时
    return 0;
}
